package javas;

import java.util.*;

/**
 * DAO:Data(base) Access Object操作表的共性操作数据访问对象
 * @author 李泽伟
 */
public class DAO<T> {
    private Map<Integer, T> map = new HashMap<>();
    /**
     * 添加一条记录
     */
    public void add(Integer idx, T t){
        map.put(idx, t);
    }
    /**
     * 删除一条记录
     */
    public void remove(Integer idx){
        map.remove(idx);
    }
    /**
     * 修改一条记录
     */
    public void update(Integer idx, T t){
        if(map.containsKey(idx)){
            map.put(idx, t);
        }
    }
    /**
     * 查找一条记录
     */
    public T get(Integer idx){
        return map.get(idx);
    }
    /**
     * 获取map存放的所有对象
     */
    public List<T> getList(){
        Collection<T> values = map.values();
        return new ArrayList<>(values);
    }
    /**
     * 获取表中一共有多少条记录？
     */
    public <E> E getValue(){
        return null;
    }

}
